package com.traffic.api.service;

import java.io.Serializable;
import java.util.List;

/**
 * Created by churcy on 2017/2/16.
 */
public interface BaseService<T, PK extends Serializable> {
    /**
     * 根据ID获取实体对象.
     *
     * @param id 记录ID
     * @return 实体对象
     */
    public T get(PK id);

    /**
     * 获取所有实体对象集合.
     *
     * @return 实体对象集合
     */
    public List<T> getAll();


    /**
     * 保存实体对象.
     *
     * @param entity 对象
     * @return ID
     */
    public void save(T entity);

    /**
     * 更新实体对象.
     *
     * @param entity 对象
     */
    public void update(T entity);

    /**
     * 根据ID删除实体对象.
     *
     * @param id 记录ID
     */
    public void delete(PK id);
}
